In many multimedia delivery applications, compressed video programs are delivered simultaneously to numerous digital receivers/decoders. According to the traditional broadcast model, the same video content is broadcast to all of the receivers in a service area. As such, the same generic advertisements are broadcast to all receivers in the service area. However, network providers, and their associated advertising clients, generally benefit from targeting a commercial advertisement to a specific audience. Hence, it may be desirable to alter the original broadcast bitstream on each of the channel paths. By way of example, local advertisers may intercept a video program (e.g., a CNN feed or a nationally broadcast sporting event) and insert local ads targeted at a local audience. In this way, multicast advertisements may be altered or tailored for a subset of receivers in a service area. Continuing, such tailored advertising may be even more desirable in unicast applications in which video program content is tailored to a single destination/viewer.
Digital stream insertion (also called digital program insertion, digital spot insertion, etc.) is a process that replaces part of a digital bitstream with another bitstream. The underlying technique for digital stream insertion is bitstream splicing (also known as bitstream concatenation), where a transition is made from a first bitstream to a second bitstream. The transition point is referred to as a splice point. In many conventional broadcast systems, digital stream insertion is performed at the MPEG transport stream level. To complicate matters, both the video program and the local content bitstreams are typically encoded in a different location and/or at a different time. Thus, conventionally, the splicing of two bitstreams comprising compressed data often requires decoding and re-encoding of both compressed bitstreams in order to allow seamless output of the video data from a downstream decoder. Additionally, it should be appreciated that the two bitstreams must be re-encoded throughout the entire stream playtime, not just around the splice points. Decoding and re-encoding the compressed video data is a computationally intensive operation, and often overwhelming for a downstream network device charged with processing numerous bitstreams simultaneously.